// pages/goods_list/index.js
//A用户上滑页面 onReachBottom 滚动条触底 开始加载下一页数据
// 1.找到滚动条触底时间
// 2.判断还有没有下一页数据
//   1.获取到总页数 
//      总页数=Math.ceil(总条数/页容量)
//   2.获取到当前的页码
//   3.判断一下 当前的页码数是否大于总页码数
// 3. 加入没有下一页数据 弹出一个提示框 
// 4.假如还有下一页数据 加载下一页 
//   1.当前的页码++
//   2.请求数据
//   3.将返回的新数据和goodslist数组中的数据进行拼接
//B 下拉刷新页面 onPullDownRefresh
//  开启页面下拉刷新 page.josn  "enablePullDownRefresh" : true|false, // 是否全局开启下拉刷新，值 true | false
//            "backgroundTextStyle" : "dark|light", // 下拉 loading 的样式,默认值dark(暗)    
//  1.触发下拉刷新事件 onPullDownRefresh
//  2.重置 数据 数组 
//  3.重置页码
//  4.重新发送请求

//引入 发送网络请求的方法
const http = require('../../utils/http.js');
import regeneratorRuntime from '../../lib/runtime/runtime'


Page({

  /**
   * 页面的初始数据
   */
  data: {   
    tabs:[
      {
        id:0,
        value:'综合',
        isactive:true
      },
      {
        id:1,
        value:'销量',
        isactive:false
      },
      {
        id:2,
        value:'价格',
        isactive:false
      }
    ],
    goodsList:[]

  },
  //请求后台接口要的参数
  QueryParams:{
    query:'',
    cid:'',
    pagenum:1,
    pagesize:10
  },
  totalPages:0, //总页数
  //标题点击事件 
  handelTabsItemChange(e){
    
    //1.获取被点击的标题索引 e.detail
    const {index}=e.detail
    console.log('index=',index)
    //2.修改源数组中被点击的
    let {tabs}=this.data
    tabs.forEach((v,i)=>i===index?v.isactive=true:v.isactive=false)
    //3.赋值到data
    console.log(tabs)    
    this.setData({
      tabs
    })    
  },
  // 获取商品列表数据
  async getGoodsList(){
    let url = '/goods/search'
    let { message: res } = await http.get(url,this.QueryParams)
    console.log(res)
    const total=res.total
    this.totalPages=Math.ceil(total/this.QueryParams.pagesize)
    //console.log(this.totalPages)
    this.setData({
      goodsList:[...this.data.goodsList,...res.goods]  //  利用解构 .将返回的新数据和goodslist数组中的数据进行拼接
    })
    //关闭下拉刷新的窗口
    wx.stopPullDownRefresh()
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //options形参包含传递的参数
    console.log(options)
    const {cid}=options //解构cid
    this.QueryParams.cid=cid
    this.getGoodsList()

  },
  
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log('下拉刷新 触发')
    //2.重置 数据 数组 
    this.setData({
      goodsList:[]
    })
    //  3.重置页码
    this.QueryParams.pagenum=1
    //  4.重新发送请求
    this.getGoodsList()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('上滑触发 onreachbottom')
    // 判断还有没有下一页数据
    if(this.QueryParams.pagenum>=this.totalPages){
       //没有下一页数据
       console.log('no more')
       wx.showToast({
         title: '没有下一页数据',
        
       });
       return false
    }
    console.log('more data')
    this.QueryParams.pagenum++
    this.getGoodsList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})